Основная память
В первых компьютерах PC/XT рабочее пространство памяти составляло 1 Мбайт и называлось памятью с произвольным доступом {Random-Access Memory — RAM) или оперативной памятью. Это пространство было разделено на несколько областей, часть из которых предназначалась для специальных целей. DOS может обращаться ко всему пространству размером 1 Мбайт, но программы можно загружать только в область памяти, называемую основной памятью {conventional memory), емкость ее в первом PC была равна 512 Кбайт. Оставшиеся 512 Кбайт были зарезервированы для использования некоторыми компонентами компьютера, такими, как системная плата и платы адаптеров, установленных в разъемах расширения.
После выпуска первого PC компания IBM пришла к выводу, что для обслуживания системы вполне достаточно области размером 384 Кбайт, поэтому в следующих компьютерах объем доступной для использования памяти был увеличен до 640 Кбайт. Эти 640 Кбайт стали стандартным объемом памяти, который DOS может использовать для выполнения программ {барьер в 640 Кбайт). Память свыше 640 Кбайт зарезервирована для графических плат и других адаптеров, а также для системной ROM BIOS.
Впрочем, барьер в 640 Кбайт имеет значение только для 16-разрядных программ, таких, как DOS и Windows 3.1. Что касается 32-разрядных программ Windows 9x и NT/2000/ ХР, то на них он не оказывает существенного влияния.
Верхняя память
Верхняя память {Upper Memory Area — UMB) представляет собой 384 Кбайт, зарезервированных у верхней границы системной памяти для компьютеров класса PC/XT и у верхней границы первого мегабайта памяти для компьютеров AT. Адреса этой области находятся в пределах от А0000 до FFFFF.
Верхняя память разделена на несколько частей.
■ Первые 128 Кбайт, расположенные сразу после основной памяти, являются областью видеопамяти и предназначены для использования видеоадаптерами. Когда на экран выводится текст или графика, в этой области хранятся образы изображений. Видеопамять занимает адреса A0000-BFFFF.
■ Следующие 128 Кбайт отведены для программ BIOS адаптеров, которые записаны в микросхемах ROM на соответствующих платах, установленных в разъемы расширения. Большинство видеоадаптеров VGA и совместимых с ними адаптеров используют для своих программ BIOS первые 32 Кбайт из этой области, а оставшаяся ее часть доступна для других устройств. Некоторые сетевые адаптеры используют эту область в качестве памяти специального назначения. Для ROM адаптеров и специальной памяти отведены адреса C0000-DFFFF.